home *** CD-ROM | disk | FTP | other *** search
/ Scene 96 / Scene 96 International Edition (Zyklop Software) (Disc 2) (1997).iso / misc / coding / vesacode / cutzeros.pas < prev    next >
Pascal/Delphi Source File  |  1996-01-28  |  1KB  |  45 lines

  1. {$A+,B-,D-,E-,F-,G+,I+,L-,N-,O-,P-,Q-,R-,S-,T-,V-,X-,Y-}
  2. {$M 16384,0,655360}
  3.  
  4. { written by zÅ∩ / LiZARD }
  5.  
  6. { ohne Fehlerbehandlung }
  7.  
  8. program cutzeros;
  9.  
  10. var datei  : file;                      { Dateihandle }
  11.     buffer : array[1..64000] of byte;   { Dateiinhalt }
  12.     name   : string;                    { Dateiname }
  13.     aktpos : word;                      { Laufvariable für Nullsuche }
  14.  
  15. begin
  16.    writeln('CutZeros  1.0          by zan');
  17.  
  18.    if paramcount<>1 then                { Parameterzahl ok ? }
  19.    begin                                { nein, Rückmeldung }
  20.       writeln(#10#13'       Syntax:   CutZeros    File[.COM]'#10#13);
  21.       halt;
  22.    end;
  23.  
  24.    name:=paramstr(1);                   { Dateinamen holen }
  25.    if pos('.',name)=0 then              { ohne Suffix ? }
  26.       name:=name+'.COM';                { ja, anhängen }
  27.  
  28.    write('Bearbeite ',name,' ...');
  29.  
  30.    assign(datei,name);
  31.    reset(datei,1);                      { Datei öffnen }
  32.    blockread(datei,buffer,64000,aktpos);{ Daten einlesen }
  33.    close(datei);                        { und wieder schließen }
  34.  
  35.    write(aktpos:5,' Bytes');
  36.  
  37.    while buffer[aktpos-1]=0 do          { Nullen abschneiden }
  38.       dec(aktpos);
  39.  
  40.    write('  ==>  ',aktpos:5,' Bytes');
  41.  
  42.    rewrite(datei,1);                    { Datei löschen }
  43.    blockwrite(datei,buffer,aktpos);     { neue Daten schreiben }
  44.    close(datei);                        { und schließen }
  45. end.